package com.cdp.common.core.domain.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cdp.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 力学性能表
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("sys_mechanical_performance")
public class SysMechanicalPerformance extends BaseEntity {

    // 性能ID
    @TableField("mechanical_id")
    private Long mechanicalId;

    // 7天抗压强度 (MPa)
    @TableField("compressive_strength_7d")
    private Float compressiveStrength7d;

    // 28天抗压强度 (MPa)
    @TableField("compressive_strength_28d")
    private Float compressiveStrength28d;

    // 地区名称
    @TableField("region_name")
    private Integer regionName;

    @TableField(exist = false) // 表示此字段不在数据库表中
    private String regionNameStr;

    // 水用量 (kg/m³)
    @TableField("water_content")
    private Float waterContent;

    // 水泥ID
    @TableField("cement_id")
    private Integer cementId;

    // 水泥用量 (kg/m³)
    @TableField("cement_content")
    private Float cementContent;

    // 粉煤灰用量 (kg/m³)
    @TableField("fly_ash_content")
    private Float flyAshContent;

    // 砂ID
    @TableField("sand_id")
    private Integer sandId;

    // 砂用量 (kg/m³)
    @TableField("sand_content")
    private Float sandContent;

    // 石ID
    @TableField("stone_id")
    private Integer stoneId;

    // 石用量 (kg/m³)
    @TableField("stone_content")
    private Float stoneContent;

    // 减水剂ID
    @TableField("reducer_id")
    private Integer reducerId;

    // 减水剂掺量 (%)
    @TableField("water_reducer_dosage")
    private BigDecimal waterReducerDosage;

    // 增效剂类型ID
    @TableField("agent_id")
    private Integer agentId;

    // 增效剂掺量 (%)
    @TableField("efficiency_agent_dosage")
    private Float efficiencyAgentDosage;

    @TableField("id")
    private String id;

    @TableField("flyash_id")
    private Integer flyashId;
    // 软删除时间
    @TableField("delete_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date deleteTime;

    // 版本号
    @TableField("version")
    private Integer version;


    @TableField("water_id ")
    private String waterId;  //水ID

    @TableField(" powder_id")
    private String powderId;    // 矿粉

    @TableField("admixtures_id")
    private String admixturesId;  // 其他

    @TableField("swellingagent_id")
    private Integer swellingagentId; //膨胀剂




    @TableField("water_dosage")
    private BigDecimal  waterDosage;  //水掺量（%）
    @TableField("powder_dosage")
    private BigDecimal   powderDosage;  //矿粉掺量
    @TableField("admixtures_dosage")
    private BigDecimal  admixturesDosage; // 其他参合料掺量
    @TableField("swellingagent_dosage")
    private BigDecimal swellingagentDosage; //膨胀剂



}
